﻿/*******************************************************************************
 * AAEngine
 * Copyright (c) 2010 Mike Jarosch
 *
 * Original source PushButton Engine:
 * Copyright (C) 2009 PushButton Labs, LLC
 * For more information see http://www.pushbuttonengine.com
 *
 * This file is licensed under the terms of the MIT license, which is included
 * in the "MIT License.txt" file at the root directory of this SDK.
 ******************************************************************************/

using System;

namespace AAEngine.Engine.Core
{
    public interface IEventDispatcher
    {
        //void AddEventListener(string type, Action<Event> callback, int priority = 0, bool useWeakReference = false);
        void AddEventListener(string type, Action<Event> callback);
        void RemoveEventListener(string type, Action<Event> callback);

        void DispatchEvent(Event e);

        bool HasEventListeners(string type);
    }
}
